package com.xpxrule.service;

import com.xpxrule.dataobject.biz.model.ReturnResponse;
import com.xpxrule.dataobject.dao.Rule;
import com.xpxrule.dataobject.req.RuleQueryReq;
import com.xpxrule.dataobject.vo.OptionVo;
import com.xpxrule.dataobject.vo.RuleDisplayVo;
import com.xpxrule.dataobject.vo.RuleVo;

import java.util.List;

/**
 * @version 1.0
 * @Author xiangpengxiang
 * @Date 2024/11/20 19:28
 * @注释
 */
public interface RuleService {
    ReturnResponse<Integer> insert(RuleVo vo);

    ReturnResponse<Integer> delete(Long id);

    ReturnResponse<Integer> update(RuleVo vo);

    List<Rule> selectRuleListByRuleScenarios(String ruleScenariosKey);

    ReturnResponse<List<RuleVo>> selectList(RuleQueryReq req);

    ReturnResponse<List<OptionVo>> getAllOperator();

    Rule selectRuleByScenariosAndRuleName(String scenariosKey, String ruleName);

    ReturnResponse<List<RuleDisplayVo>> selectRuleDisplayList(RuleQueryReq req);
}
